.palette {
  display: none;
  width: 320px;
  position: fixed;
  top: 20px;
  left: ~"calc(50% - 150px)";
  background: transparent;
  color: darken(@foreground, 30%);
  z-index: 999;
  font-size: 16px;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, .2);
  
  @paletteBackground: lighten(@background, 10%);
  
  transition-property: opacity, -webkit-transform;
  transition-duration: .1s, .2s;
  transition-timing-function: linear, ease-in-out;
  
  -webkit-transform: perspective(1000px) translateY(0px) rotateX(0deg) translateZ(0);
  opacity: 1;
  
  &.enter {
    opacity: .2;
    transition-duration: 0s, 0s;
    -webkit-transform: perspective(1000px) translateY(10px) rotateX(-45deg) translateZ(-20px);
  }
  
  &.active {
    display: block;
  }
  
  .main {
    background: @paletteBackground;
    padding: 8px 12px;
  }
  
  h1 {
    font-size: 16px;
    padding: 0;
    margin-top: 0px;
    font-weight: normal;
  }
  
  input {
    width: 100%;
    display: block;
    border: none;
    border-bottom: 2px solid @background;
    padding: 8px;
    margin-top: 8px;
    background: transparent;
    color: @foreground;
    font-weight: bold;
    font-size: 18px;

    &:focus {
      outline: none;
      border-bottom: 2px solid @accent;
    }
  }
  
  .results {
    background: fade(@paletteBackground, 90%);
    padding: 0;
    margin: 0;
    list-style-type: none;
    z-index: 999;
    border-top: 1px solid @faded;
    
    li {
      border-left: 2px solid @faded;
      display: block;
      padding: 8px;

      &.current {
        border-left: 2px solid @accent;
        font-weight: bold;
        background: @paletteBackground;
      }
      
      .label {
        font-size: 18px;
      }
      
      .sublabel {
        font-size: 14px;
        // font-weight: normal;
        white-space: nowrap;
        overflow: hidden;
        max-height: 1.5em;
        margin-top: 4px;
      }
    }
  }
}